package org.stvd.service.workflow;

import java.util.List;
import java.util.Map;

import org.stvd.common.utils.ServiceResult;
import org.stvd.core.dto.QueryResult;
import org.stvd.entities.workflow.WfGroup;
import org.stvd.service.base.BaseService;

/**
 * @Title WfGroupService
 * @Destribution 工作流用户分组业务层接口类
 * @author houzx
 * @date 2020年10月29日
 */
public interface WfGroupService extends BaseService<WfGroup> {

    /**
     * 流程审批分组列表
     * @param name 分组名称
     * @param code 分组编号
     * @param createUid 创建人ID
     * @return
     */
    QueryResult<WfGroup> wfGroupQuery(Integer start,Integer limit, String name, String code, String createUid);
    
    /**
     * 根据条件获取流程审批分组列表
     * @param code 分组编号
     * @param status 分组状态
     * @return
     */
    List<WfGroup> listWfGroupByCondition(String code, String status);
    
    /**
     * 根据分组编号获取分组信息
     * @param code 分组编号
     * @return
     */
    public WfGroup getWfGroupByCode(String code);
    
    /**
     * 新增流程审批分组信息
     * @param WfGroup 分组实体类
     * @return
     */
    public ServiceResult<Map<String, Object>> insertWfGroup(WfGroup WfGroup);
    
    /**
     * 修改流程审批分组信息
     * @param WfGroup 分组实体类
     * @return
     */
    public ServiceResult<Map<String, Object>> updateWfGroup(WfGroup WfGroup);
    
    /**
     * 删除流程审批分组信息
     * @param groupId 主键
     * @return
     */
    public ServiceResult<Map<String, Object>> deleteWfGroup(Long groupId);

    /**
     * 新增、更新选择分组用户
     * @param ids
     * @param groupId 
     * @return
     */
    public ServiceResult<Map<String, Object>> updateUserChooseInfo(String ids, String groupCode);
}
